realization methods